noodles-bgzf 0.33.0

Blocked gzip format (BGZF) reader and writer
Documentation
**noodles-bgzf** handles the reading and writing of the blocked gzip format (BGZF). While the gzip format is typically a single stream, a BGZF is the concatenation of many gzip streams. Each stream is called a block, with its uncompressed data size being constrained to less than 64 KiB. This multistream gzip allows random access using [`virtual positions`]. noodles-bgzf abstracts away the concept of blocks, implementing [`std::io::Read`] for the reader and [`std::io::Write`] for the writer. [`virtual positions`]: VirtualPosition # Examples ## Read an entire BGZF file ```no_run # use std::{fs::File, io::{self, Read}}; use noodles_bgzf as bgzf; let mut reader = File::open("data.gz").map(bgzf::Reader::new)?; let mut data = Vec::new(); reader.read_to_end(&mut data)?; # Ok::<(), io::Error>(()) ``` ## Write a BGZF file ```no_run # use std::{fs::File, io::{self, Write}}; use noodles_bgzf as bgzf; let mut writer = File::create("data.gz").map(bgzf::Writer::new)?; writer.write_all(b"noodles-bgzf")?; # Ok::<(), io::Error>(()) ```